import OpenAI from 'openai';
import * as fs from 'fs';

const client = new OpenAI({
  apiKey: 'sk-bYsYFXRtEd2qivg6A72uNihNHsf1OazhVFce1Z9Ruq3Ql2IM', // 在这里将 MOONSHOT_API_KEY 替换为你从 Kimi 开放平台申请的 API Key
  baseURL: 'https://api.moonshot.cn/v1',
});

// 对文件进行问答
// 简历优化AI，用于简历优化，获取优化后的简历
async function resumeOptimizeAI(path: string = 'public/pdf/罗雨- owner.pdf') {
  // moonshot.pdf 是一个示例文件, 我们支持 pdf, doc 以及图片等格式, 对于图片和 pdf 文件，提供 ocr 相关能力
  const file_object = await client.files.create({
    file: fs.createReadStream(path),
    purpose: 'file-extract',
  });
  // 获取结果
  const file_content = await (
    await client.files.content(file_object.id)
  ).text();

  const completion = await client.chat.completions.create({
    model: 'moonshot-v1-32k',
    messages: [
      {
        role: 'system',
        content:
          '你是一个简历优化助手，你会为用户提供有帮助，准确的简历优化建议。同时，你是计算机领域的简历分析专家',
      },
      {
        role: 'system',
        content: file_content,
      },
      {
        role: 'user',
        content:
          '帮我分析简历，修改完成后用markdown格式返回一份最新简历，同时列出分析建议（JSON字符串数组形式返回每条建议）。',
      },
    ],
    temperature: 0.3,
    max_tokens: 4096,
  });
  fs.writeFileSync('demo/hh.md', completion.choices[0].message.content || '');
  return completion.choices[0].message.content;
}

export { resumeOptimizeAI };
